# todo 文件读取,文件必须提前存在,否则报错.
# # 1.打开文件.
# f = open('b.txt',mode='r',encoding='utf8')
# # 2.读取文件
# res = (f.read())
# print(res)
# #3.关闭文件
# f.close()


# # todo 按照行一次读取所有行.返回的是列表[行数据\n,行数据\n,,,,,]
# # 1.打开文件.
# f = open('b.txt',mode='r',encoding='utf8')
# # 2.读取文件
# res = (f.readlines())
# print(res) # ['静夜思\n', '床前明月光\n', '疑似地上霜\n', '举头望明月\n', '低头思故乡']
# #3.关闭文件
# f.close()


# todo 一次只读一行返回的是字符串
# 1.打开文件.
f = open('b.txt',mode='r',encoding='utf8')
# 2.读取文件

# res = (f.readline())
# print(res) # 静夜思

#todo 想读取完毕需要循环.
while True:
    res = (f.readline())
    print(res,end='')
    # if res == '':
    #     break

    # if len(res) == 0:
    #     break

    if not res: # 判断的时候.res字符串类型会强制转换成为 bool类型.[字符串非空即True]
        break

#3.关闭文件
f.close()